急 用C++编一段"统计字母的使用频率"程序

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:14:42
输入200个字符(不含空格)统计其中字母的使用频率 在统计字母的使用频率时,不要使用if语句或switch语句,利用字母的ASCII码与数组元素下标之间的关系来求得。
要求用C++语言编程,在Visual C++环境下调试完成;
用cout cin来完成输入输出
要求按照程序功能分成几个功能模块来实现,各个功能模块分别使用函数来完成;
为统计英文字母的使用频率,输入一个不包括空格的由英文字母组成的字符串,长度不超过200个字符。统计26个英文字母的使用频率,不区分大小写。最后按使用频率从大到小输出字母(小写字母)和使用频率(出现的次数)。
按照程序要求,本程序应采用模块化设计方法,设计几个功能模块。例如(仅供参考):
l 将字符串中的大写字母转换为小写字母
l 统计输入的字符串中字母的使用频率
l 按使用频率从大到小进行排序
主函数中控制输入、函数调用和输出。
1) 为统计字母的使用频率,定义一个长度为26的int数组存放所统计的各个字母的使用频率。
2) 在统计字母的使用频率时,不要使用if语句或switch语句,利用字母的ASCII码与数组元素下标之间的关系来求得。
3) 按使用频率从大到小进行排序时,建议使用指针数组更为方便。
谢谢啊 非常感谢
不要使用if语句或switch语句,利用字母的ASCII码与数组元素下标之间的关系来求得。请一定帮忙啊,非常感谢啊

#include <cstdio>
#include <memory>
int count[256];
int main()
{
int i;
char ch;
memset(count,0,sizeof(count));
for (i=0;i<200;i++)
{
scanf("%c",&ch);
count[ch]++;
}
for (i='A';i<='Z';i++)
printf("The frequency of %c is %lf\n",i,count[i]/200.0);
for (i='a';i<='a';i++)
printf("The frequency of %c is %lf\n",i,count[i]/200.0);
return 0;
}